import { ListPage } from "custom/index";
import { personalShopPage, confirmSubAccount } from '../api'
import { ElMessage, ElMessageBox } from 'element-plus'

const page = new ListPage('DayPage');

const map = ['待服务', '服务中', '服务结束']

async function confirmAccount({ props, _c }) {
  const row = props.row || {}
 if( row.confirmStatus === '1') return
  await ElMessageBox.confirm('是否确定？', '提示')
  
  const id = row.subAccountId
  if (!id) return
  await confirmSubAccount({ subAccountId: id })
  ElMessage.success('操作成功')
  _c.dispatch('ListPage', 'getData')
}

page
  .api(personalShopPage)
  .useTabs()
    .setProp('serviceStatus')
    .setDefualt('all')
    .addTab({ label: '全部', value: 'all' })
    .addTab({ label: '正在服务', value: 1 })
    .addTab({ label: '已过期', value: 2 })
    .addTab({ label: '待服务', value: 0 })
    .end()
  .useSearch().end()
  .useTable()
    .useIndexColumn().end()
    .useColumn('platformName').label('平台').minWidth(140).end()
    .useColumn('shopNo').label('店铺ID').minWidth(140).end()
    .useColumn('accountName').label('子账号名称').minWidth(200).end()
    .useColumn('accountPassword').label('子账号密码').minWidth(160).end()
    .useColumn('consultPeopleNum').label('约定咨询人数').minWidth(160).end()
    .useColumn('conversionRate').label('约定转化率').minWidth(160).end()
    .useColumn('responseSecond').label('约定响应时间').minWidth(140).end()
    .useColumn('serviceShiftName').label('班次').minWidth(200).end()
    // .useColumn('onLineStatus').label('在线状态').minWidth(140).end()
    // .useColumn('customPostTypeName').label('岗位类别').minWidth(140).end()
    .useColumn('customTypeName').label('客服类型').minWidth(140).end()
    
    // .useColumn('exNameLabel').label('分部客服').minWidth(140).end()
    .useColumn('exNameLabel').label('分部公司').minWidth(140).end()
    
    .useColumn('startDate').label('开始日期').minWidth(140).end()
    // .useColumn('pointUser').label('分配人').minWidth(140).end()
    .useColumn('endDate').label('结束日期').minWidth(140).end()
    .useColumn('baseSalary').label('底薪').minWidth(140).end()
    .useColumn('commissionRatio').label('提成').minWidth(140).end()
    .useColumn('serviceStatus').label('服务状态').minWidth(140).formatter(row => map[row.serviceStatus] || '--').end()
    .useColumn('confirmStatus').label('确认状态').formatter(row => row.confirmStatus === 1 ? '已确认' : '未确认').minWidth(140).end()
    .end()
  .usePagination()
    .end()
  .useAuthButton()
    .useItem('').content('导出数据').end()
    .end()
  .useAuthColumn()
    .useItem('').formatter(row => row.confirmStatus !== 1 ? '确认' :  '').action(confirmAccount).end()
    .end()

export default page
